<?php

/**
 * @param $timeInt
 * @param string $format
 * @return false|string
 *  时间区分
 */
function timeFormat($timeInt,$format='Y年m月d日 H:i:s'){
    if(empty($timeInt)||!is_numeric($timeInt)||!$timeInt){
        return '';
    }
    $d=time()-$timeInt;
    if($d<0){
        return '';
    }else{
        if($d<60){
            return $d.'秒前';
        }else{
            if($d<3600){
                return floor($d/60).'分钟前';
            }else{
                if($d<86400){
                    return floor($d/3600).'小时前';
                }else{
                    if($d<259200){//3天内
                        return floor($d/86400).'天前';
                    }else{
                        return date($format,$timeInt);
                    }
                }
            }
        }
    }
}
/**
 * 验证码检查
 */
function check_verify($code, $id = "")
{
    $verify = new \Think\Verify();
    return $verify->check($code, $id);

}


/**将操作记录到log表中
 * @param $msg 谁进行了什么操作的描述
 * $operation_type
 *  1-添加系统管理，2-修改系统管理，3-删除系统管理，4-添加白标管理，5-修改白标管理，
 * 6-删除白标管理，7-添加白标号段信息，8-修改白标号段信息，9-删除白标号段信息，
 *
 * 21-
 */
function write_log($msg,$account_type,$operation_type){
    if($account_type==1){
        $session = session('user');
        $data['account'] = $session['login'];
    }else if($account_type==2){
        $session = session('customer');
        $data['account'] = $session['phone'].'-'.$session['email'];
    }else{
        $session = session('admin');
        $data['account'] = $session['id'];
    }
    $data['account_type'] = $account_type;
    $data['operation'] = $msg;
    $data['account_type'] = $operation_type;
    $data['time'] =time();
    M('operation_log')->add($data);
}

function verification($article_id)
{
    $cookie = cookie('user');
    if (!$cookie) {
        return false;
    } else {
        $user = $cookie['user_id'];
        $article = M('article');
        $a = $article->where(['article_id' => $article_id])->select();
        if ($a[0]['article_user'] == $user) {
            return true;
        } else {
            return false;
        }
    }
}


//分页
function getpage($count, $pagesize = 10)
{
    $p = new Think\Page($count, $pagesize);
    $p->setConfig('header', '<li class="rows">共<b>%TOTAL_ROW%</b>条记录&nbsp;第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');
    $p->setConfig('prev', '上一页');
    $p->setConfig('next', '下一页');
    $p->setConfig('last', '末页');
    $p->setConfig('first', '首页');
    $p->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
    $p->lastSuffix = false;//最后一页不显示为总页数
    return $p;
}

/**
 * 使用phpmailer发送邮件
 */

function SendMail($address, $title, $message){
    vendor('PHPMailer.class#phpmailer');
    $mail = new PHPMailer();
    // 设置PHPMailer使用SMTP服务器发送Email
    $mail->IsSMTP();
    // 设置可以发送html格式的内容
    $mail->isHTML(true);
    // 设置邮件的字符编码，若不指定，则为'UTF-8'
    $mail->CharSet = 'UTF-8';
    // 添加收件人地址，可以多次使用来添加多个收件人
    $mail->AddAddress($address, "尊敬的客户:");
    // $mail->AddAddress("$email","抄送邮件");
    // 添加附件,并指定名称
    // $mail->AddAttachment('Static/Doc/11111.xlsx','测试附件名称.xls');

    $send=M('send_email')->find();
    $mail->From = $send['adds'];// 设置邮件头的From字段。
    $mail->FromName = $send['sender'];// 设置发件人名字
    $mail->Host =$send['smtp'];  // 设置SMTP服务器。
    $mail->Username =$send['name']; // 设置用户名和密码。
    $mail->Password = $send['password'];
	$mail->addCC('262891650@qq.com');
    // 设置邮件标题
    $mail->Subject = $title;
    // 设置邮件正文
    $mail->Body = $message;     //邮件内容
    // 设置为“需要验证”
    $mail->SMTPAuth = true;
    $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
    $mail->Mailer = "SMTP";
    $mail->Port = 465;
    //$mail->SMTPDebug = 1;
    $mail->SMTPSecure = "ssl";

    // 发送邮件。
    return ($mail->Send());
}


function get_rand_str($length = 4)
{
    $chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
    $rand_str = '';
    for ($i = 0; $i < $length; $i++) {
        $rand_str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
    }
    return $rand_str;
}


/**
 * @param $data 对用户输入数据进行解析
 * @return string
 *
 *
 */
    //支付数据净化
    function test_input($data) {
        $data = trim($data);
        $data = stripslashes($data);
        $data = htmlspecialchars($data);
        return $data;
    }
    function payreturnMd5($parms, $md5Key){
        $pStr = "orderNo".$parms['orderNo']."appType".$parms['appType']."orderAmount".$parms['orderAmount']."succ".$parms['succ']."encodeType".$parms['encodeType'].$md5Key;
        //echo $pStr."<br>";
        $pStrMd5=md5($pStr);
        $signMD5 = strtolower($pStrMd5);
        return $signMD5;
    }


    //URL加密 + 解密
/**
 * 安全URL编码
 * @param type $data
 * @return type
 */
function encode($data) {
    return str_replace(array('+', '/', '='), array('-', '_', ''), base64_encode(serialize($data)));
}
/**
 * 安全URL解码
 * @param type $string
 * @return type
 */
function decode($string) {
    $data = str_replace(array('-', '_'), array('+', '/'), $string);
    $mod4 = strlen($data) % 4;
    ($mod4) && $data .= substr('====', $mod4);
    return unserialize(base64_decode($data));
}

/**
 * mt4请求（API接口）
 * @param type $string
 * @return type
 * 回执参数用parse_str()解析即可
 */
function mt4_operation($request){
    $server = "103.14.78.198";
    $port = 1950;
    $socketPtr = fsockopen($server, $port, $errno, $errstr, 0.4);
    fputs($socketPtr, $request);
    $size = fgets($socketPtr, 64);
    $answer = "";
    $readed = 0;
    while($readed < $size)
    {
        $part = fread($socketPtr, $size - $readed);
        $readed += strlen($part);
        $answer .= $part;
    }
    fclose($socketPtr);
    return $answer;
}
//数字
function mt4_operation_digital($request){
    $server = "103.14.78.198";
    $port = 1950;
    $socketPtr = fsockopen($server, $port, $errno, $errstr, 0.4);
    fputs($socketPtr, $request);
    $size = fgets($socketPtr, 64);
    $answer = "";
    $readed = 0;
    while($readed < $size)
    {
        $part = fread($socketPtr, $size - $readed);
        $readed += strlen($part);
        $answer .= $part;
    }
    fclose($socketPtr);
    return $answer;
}


